package ArrayListTools;

/**
 * @author ：wang-ting
 * @Date：2025/6/2 15:39
 */

import java.util.ArrayList;
import java.util.Collections;
/**
 * 设计一个名为ArrayListTools的类，封装对ArrayList的某些操作，这个类包括：
 */
public class ArrayListTools {
    /**
     * 静态方法：arrayToArrayList，用于根据int数组创建ArrayList对象
     * @param arr
     * @return
     */
    public static ArrayList<Integer> arrayToArrayList(int[] arr){
        ArrayList<Integer> list = new ArrayList<Integer>();
        for(int x : arr){
            list.add(x);
        }
        return list;
    }

    /**
     * 静态方法：getMax，返回指定ArrayList中的最大值。
     * @param list
     * @return
     */
    public static int getMax(ArrayList<Integer> list){
        int max = list.get(0);
        for(int x : list){
            if(x > max){
                max = x;
            }
        }
        return max;
    }

    /**
     * 静态方法：getMin，返回指定ArrayList中的最小值。
     * @param list
     * @return
     */
    public static int getMin(ArrayList<Integer> list){
        int min = list.get(0);
        for(int x : list){
            if(x < min){
                min = x;
            }
        }
        return min;
    }

    /**
     * 静态方法：getSum，返回指定ArrayList中的元素的和。
     * @param list
     * @return
     */
    public static int getSum(ArrayList<Integer> list){
        int sum = 0;
        for(int x : list){
            sum += x;
        }
        return sum;
    }

    /**
     * 静态方法：getAvg，返回指定ArrayList中的元素平均值。
     * @param list
     * @return
     */
    public static double getAvg(ArrayList<Integer> list){
        int sum = getSum(list);
        double avg = 1.0 * sum / list.size();
        return avg;
    }

    /**
     * 静态方法：sort，对ArrayList进行排序
     * @param list
     */
    public static void sort(ArrayList<Integer> list){
        Collections.sort(list);
    }
}

